package com.dyzx.hbb.modules.fcxs.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 财务添加视图对象
 *
 * @author AI Assistant
 * @date 2023-07-10
 */
@Data
@Schema(description = "财务添加视图对象")
public class FcxsFinancialVO implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 运单编号
     */
    @Schema(description = "运单编号")
   // @NotNull(message = "运单编号不能为空")
    @JsonProperty("order_id")
    private Long orderId;


    /**
     * 运单编号
     */
    @Schema(description = "运单编号")

    @JsonProperty("order_no")
    private String orderNo;
    /**
     * 类型 字典信息：fcxs_financial_type
     */
    @Schema(description = "类型 字典信息：fcxs_financial_type")
    @NotNull(message = "类型 字典信息：fcxs_financial_type不能为空")
    @JsonProperty("type")
    private Integer type;


    /**
     * 分类 字典信息：fcxs_financial_category
     */
    @Schema(description = "分类 字典信息：fcxs_financial_category")
    @NotNull(message = "分类 字典信息：fcxs_financial_category不能为空")
    @JsonProperty("category")
    private Integer category;

    /**
     * 金额
     */
    @Schema(description = "金额")
 //   @NotNull(message = "金额不能为空")
  //  @Min(value = 0, message = "金额不能小于0")
    @JsonProperty("amt")
    private Integer amt;

    /**
     * 付款方式 字典信息：sys_pay_mode
     */
    @Schema(description = "付款方式 字典信息：sys_pay_mode")
    @NotNull(message = "付款方式 字典信息：sys_pay_mode不能为空")
    @JsonProperty("pay_mode")
    private Integer payMode;

    /**
     * 票据类型 字典信息：fcxs_financial_bill_type
     */
    @Schema(description = "票据类型 字典信息：fcxs_financial_bill_type")
    @NotNull(message = "票据类型 字典信息：fcxs_financial_bill_type不能为空")
    @JsonProperty("bill_type")
    private Integer billType;

    /**
     * 凭证集
     */
    @Schema(description = "凭证集")
    @JsonProperty("image")
    private String image;

    /**
     * 备注
     */
    @Schema(description = "备注")
    @JsonProperty("remark")
    private String remark;

    /**
     * 状态 字典信息：sys_global_status
     */
    @Schema(description = "状态 字典信息：sys_global_status")
  //  @NotNull(message = "状态 字典信息：sys_global_status不能为空")
    @JsonProperty("status")
    private Integer status;
}
